17 research outputs found

    Inductive logic programming at 30: a new introduction

    Full text link
    Inductive logic programming (ILP) is a form of machine learning. The goal of ILP is to induce a hypothesis (a set of logical rules) that generalises training examples. As ILP turns 30, we provide a new introduction to the field. We introduce the necessary logical notation and the main learning settings; describe the building blocks of an ILP system; compare several systems on several dimensions; describe four systems (Aleph, TILDE, ASPAL, and Metagol); highlight key application areas; and, finally, summarise current limitations and directions for future research.Comment: Paper under revie

    CSS processors and methodologies

    Get PDF
    Rad CSS procesori i metodologije za cilj ima približiti svrhu postojanja alata za procesiranje CSS-a početniku u svijetu razvoja internetskih aplikacija. Opisana su četiri glavna predstavnika alata za procesiranje CSS-a ā€“ SASS, LESS, Stylus te PostCSS. Uz to, dan je kratki pregled povijesti razvoja Cascading Style Sheets-a i njegovih ograničenja koja su posljedično dovela do razvoja alata za procesiranje CSS-a. Prikazani su osnovni primjeri koristeći navedene alate te su izdvojene razlike i prednosti, odnosno nedostatci među njima. Osim toga, opisane su metodologije pisanja CSS koda koje doprinose čitljivosti i pravilnoj strukturi koda. Uz sve nabrojano, izvrÅ”ena su mjerenja brzine obrađivanja koda koristeći svaki od obrađenih alata te su izdvojene njihove prednosti i nedostatci. Ovaj rad pruža generalni pregled glavnih dostupnih alata koji omogućavaju lakÅ”i rad s CSS-om, ali za detaljniju se analizu preporuča iscrpna dokumentacija svakog pojedinačnog alata od navedenih. Na posljetku, poglavljem Budućnost CSS-a i alata za procesiranje CSS-a pokuÅ”ava se predvidjeti daljnji razvoj alata odnosno hoće li u budućnosti uopće biti i potrebni.Thesis ā€œCSS processors and methodologiesā€ aims to familiarize beginners in a world of web development with CSS processors and their purpose. Four of the main representatives have been described, namely SASS, LESS, Stylus, and PostCSS. Also, CSSā€™s history has been summarized together with its shortcomings which ultimately led to development of CSS processors. Simple code examples written in each of the aforementioned tools are provided which highlight differences, advantages and disadvantages among them. Main methodologies for writing CSS code have been described, all of which help with readability and proper code structure. Furthermore, using each of the covered tools, speed test for compiling code have been created which showcase their strong and weak points. This thesisā€™ main goal is a high-level overview of all main CSS processors which can help with writing CSS, but for a deeper insight in the each tool a look in its detailed documentation is advised. Finally, the chapter titled Future of CSS and CSS processing tools tries to paint a picture of a further development of the CSS processing tools and will their assistance even be necessary in the near future

    Learning Logic Programs by Discovering Higher-Order Abstractions

    Full text link
    Discovering novel abstractions is important for human-level AI. We introduce an approach to discover higher-order abstractions, such as map, filter, and fold. We focus on inductive logic programming, which induces logic programs from examples and background knowledge. We introduce the higher-order refactoring problem, where the goal is to compress a logic program by introducing higher-order abstractions. We implement our approach in STEVIE, which formulates the higher-order refactoring problem as a constraint optimisation problem. Our experimental results on multiple domains, including program synthesis and visual reasoning, show that, compared to no refactoring, STEVIE can improve predictive accuracies by 27% and reduce learning times by 47%. We also show that STEVIE can discover abstractions that transfer to different domain

    Inductive logic programming at 30

    Full text link
    Inductive logic programming (ILP) is a form of logic-based machine learning. The goal of ILP is to induce a hypothesis (a logic program) that generalises given training examples and background knowledge. As ILP turns 30, we survey recent work in the field. In this survey, we focus on (i) new meta-level search methods, (ii) techniques for learning recursive programs that generalise from few examples, (iii) new approaches for predicate invention, and (iv) the use of different technologies, notably answer set programming and neural networks. We conclude by discussing some of the current limitations of ILP and discuss directions for future research.Comment: Extension of IJCAI20 survey paper. arXiv admin note: substantial text overlap with arXiv:2002.11002, arXiv:2008.0791

    DeepProbLog: Neural Probabilistic Logic Programming

    Get PDF
    We introduce DeepProbLog, a probabilistic logic programming language that incorporates deep learning by means of neural predicates. We show how existing inference and learning techniques can be adapted for the new language. Our experiments demonstrate that DeepProbLog supports both symbolic and subsymbolic representations and inference, 1) program induction, 2) probabilistic (logic) programming, and 3) (deep) learning from examples. To the best of our knowledge, this work is the first to propose a framework where general-purpose neural networks and expressive probabilistic-logical modeling and reasoning are integrated in a way that exploits the full expressiveness and strengths of both worlds and can be trained end-to-end based on examples.Comment: Accepted for spotlight at NeurIPS 201
    corecore